1. Field of the Invention
Methods and apparatuses consistent with the present invention relate to an apparatus, system and method for executing discovery in a network, and more particularly to an apparatus and method for searching for a specific device via a discovery process, and notifying the existence of a client in a SyncML-based device.
2. Description of the Related Art
Generally, Universal Service Bus (USB), using an additional cable and protocol (e.g., Universal Plug and Play (UPnP)) including a discovery method, does not need an additional discovery mechanism for synchronizing the transmission of data between devices. When the discovery process is applied to synchronization markup language (SyncML) devices, manufacturers have the burden of licensing costs and increases in development costs. The SyncML protocol was introduced as a standard for data synchronization between mobile devices manufacturers.
FIG. 1 depicts a synchronization process in a general SyncML-based device.
If a SyncML-based device performs synchronization by exchanging data, which is managed by applications, located on a specific position, to-be-synchronized devices are divided into a SyncML server and SyncML client.
In SyncML, the synchronization is started when the SyncML server transmits Pkg. #0 having an alert package to the SyncML client. Alternatively, when the SyncML client sends a request for synchronization to the SyncML server, the SyncML client transmits a synchronization-requesting message corresponding to Pkg. #1 to the SyncML server.
Accordingly, before synchronization, the SyncML server and the SyncML client should search for the to-be-synchronized SyncML client in order to determine whether the SyncML client is available.
For example, an additional device-discovery method should be used for the device discovery between the SyncML server and the SyncML client in an environment where it is possible to change an Internet Protocol (IP) such as Dynamic Host Configuration Protocol (DHCP) or Auto-IP allocated when a device is connected to a network.
When the synchronization starts, an initialization package, i.e., Pkg. #1 and Pkg. #2, is transmitted to the SyncML server and the SyncML client, and data to be synchronized is exchanged via Pkg. #3 and Pkg. #4. The SyncML client then updates the data and transmits a result of the synchronization to the SyncML server via Pkg. #5. After checking the transmitted result, the SyncML server transmits a final acknowledgement, i.e., Pkg. #6, which ends the synchronization.
If IPs of the SyncML server and the SyncML client are changed, there is a problem in that device information required for the synchronization would have to be updated by an additional method. That is, a user has to discover devices before the synchronization.
To synchronize devices such as mobile devices that are connected to a specific network or removed from the network, a user would have to determine whether each device exists, and obtain device information such as an IP address, which is inconvenient.
When the SyncML client wants to synchronize with the SyncML server, the SyncML client cannot know the time when the SyncML server is connected to the network. Therefore, the SyncML client should check whether the SyncML server is connected to the network by periodically polling the SyncML server, or using a device discovery method. Accordingly, the SyncML client would not know whether the SyncML server exists without performing an additional search before Pkg. #0, i.e., the alert package, is transmitted from the SyncML server.
Therefore, a discovery method that can be applied to devices having SyncML based-synchronization mechanism is required to be developed.